Adjusting an equalizer based on audio characteristics

ABSTRACT

Implementations generally relate to automated equalizer adjustments based on audio characteristics. In some implementations, a method includes detecting music that is being currently played on an audio device. The method further includes adjusting one or more equalizer settings of an equalizer device based at least in part on a music genre associated with the music. The method further includes outputting the music based at least in part on the adjusting of the one or more equalizer settings of the equalizer device.

BACKGROUND

Technology advances have enabled users to access and listen to manydifferent types of music genres such as pop, rock, metal, jazz,electronic dance music (EDM), classical, etc. Some audio devices allowusers to change an equalizer in order to adjust bass or treble. Such anadjustment to the equalizer essentially adjusts specific frequencies inorder to enhance the music listening experience of the user. Some audiodevices do not allow such adjustments. Even if an audio device allows auser to make equalizer adjustments, the user typically needs to manuallychange the equalizer settings, which can be a difficult process,especially when the user is not knowledgeable in the particular musicgenre.

SUMMARY

Implementations generally relate to automated equalizer adjustmentsbased on audio characteristics. In some implementations, a systemincludes one or more processors, and includes logic encoded in one ormore non-transitory computer-readable storage media for execution by theone or more processors. When executed, the logic is operable to causethe one or more processors to perform operations including detectingmusic that is being currently played on an audio device; adjusting oneor more equalizer settings of an equalizer device based at least in parton a music genre associated with the music; and outputting the musicbased at least in part on the adjusting of the one or more equalizersettings of the equalizer device.

With further regard to the system, in some implementations, the musicgenres include one or more of pop music, rock music, jazz music,electronic dance music, and classical music. In some implementations,the one or more equalizer settings include bass and treble. In someimplementations, to determine the music genre associated with the music,the logic when executed is further operable to cause the one or moreprocessors to perform operations including: receiving audio sound at aninput of the audio device; characterizing the audio sound; anddetermining the music genre based at least in part on the characterizingof the audio sound. In some implementations, to determine the musicgenre associated with the music, the logic when executed is furtheroperable to cause the one or more processors to perform operationsincluding: sampling a first portion of the music; and determining themusic genre based at least in part on the first portion of the music. Insome implementations, the logic when executed is further operable tocause the one or more processors to perform operations including:learning from one or more manual adjustments performed by a user; andadjusting one or more of the equalizer settings of an equalizer devicebased at least in part on the music genre and based at least in part onthe one or more manual adjustments. In some implementations, the logicwhen executed is further operable to cause the one or more processors toperform operations including: detecting one or more manual adjustmentsto one or more of the equalizer settings of the equalizer device, wherethe one or more manual adjustments result in one or more respectivemanually adjusted equalizer settings; and storing the one or moremanually adjusted equalizer settings.

In some embodiments, a non-transitory computer-readable storage mediumwith program instructions thereon is provided. When executed by one ormore processors, the instructions are operable to cause the one or moreprocessors to perform operations including: detecting music that isbeing currently played on an audio device; adjusting one or moreequalizer settings of an equalizer device based at least in part on amusic genre associated with the music; and outputting the music based atleast in part on the adjusting of the one or more equalizer settings ofthe equalizer device.

With further regard to the computer-readable storage medium, in someimplementations, the music genre includes one or more of pop music, rockmusic, jazz music, electronic dance music, and classical music. In someimplementations, the one or more equalizer settings include bass andtreble. In some implementations, to determine the music genre associatedwith the music, the instructions when executed are further operable tocause the one or more processors to perform operations including:receiving audio sound at an input of the audio device; characterizingthe audio sound; and determining the music genre based at least in parton the characterizing of the audio sound. In some implementations, todetermine the music genre associated with the music, the instructionswhen executed are further operable to cause the one or more processorsto perform operations including: sampling a first portion of the music;and determining the music genre based at least in part on the firstportion of the music. In some implementations, the instructions whenexecuted are further operable to cause the one or more processors toperform operations including: learning from one or more manualadjustments performed by a user; and adjusting one or more of theequalizer settings of an equalizer device based at least in part on themusic genre and based at least in part on the one or more manualadjustments. In some implementations, the instructions when executed arefurther operable to cause the one or more processors to performoperations including: detecting one or more manual adjustments to one ormore of the equalizer settings of the equalizer device, where the one ormore manual adjustments result in one or more respective manuallyadjusted equalizer settings; and storing the one or more manuallyadjusted equalizer settings.

In some implementations, a method includes detecting music that is beingcurrently played on an audio device. The method further includesadjusting one or more equalizer settings of an equalizer device based atleast in part on a music genre associated with the music. The methodfurther includes outputting the music based at least in part on theadjusting of the one or more equalizer settings of the equalizer device.

With further regard to the method, in some implementations, the musicgenre includes one or more of pop music, rock music, jazz music,electronic dance music, and classical music. In some implementations,the one or more equalizer settings include bass and treble. In someimplementations, to determine the music genre associated with the music,the method further includes: receiving audio sound at an input of theaudio device; characterizing the audio sound; and determining the musicgenre based at least in part on the characterizing of the audio sound.In some implementations, to determine the music genre associated withthe music, the method further includes: sampling a first portion of themusic; and determining the music genre based at least in part on thefirst portion of the music. In some implementations, the method furtherincludes: learning from one or more manual adjustments performed by auser; and adjusting one or more of the equalizer settings of anequalizer device based at least in part on the music genre and based atleast in part on the one or more manual adjustments.

A further understanding of the nature and the advantages of particularimplementations disclosed herein may be realized by reference of theremaining portions of the specification and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an example media environment,according to some implementations.

FIG. 2 is an example flow diagram for adjusting an equalizer based onaudio characteristics, according to some implementations.

FIG. 3 is an example flow diagram for determining the music genreassociated with the music, according to some implementations.

FIG. 4 is an example flow diagram for adjusting equalizer settings,according to some implementations.

FIG. 5 is a block diagram of an example network environment, which maybe used for some implementations described herein.

FIG. 6 is a block diagram of an example computer system, which may beused for some implementations described herein.

DETAILED DESCRIPTION

Implementations described herein adjust an equalizer based on audiocharacteristics. Implementations dynamically change equalizer settingsbased on audio that is currently playing. Implementations identify theparticular genre of music and adjust the frequencies for a betterlistening experience for the user. As a result, the user does not needto manually change equalizer settings.

FIG. 1 illustrates a block diagram of an example media environment 100,according to some implementations. In some implementations, mediaenvironment 100 includes a system 102, an audio device 104, an equalizerdevice or equalizer 106, and speakers 108.

As described in more detail herein, in various implementations, system102 of media environment 100 detects music that is being currentlyplayed on audio device 104. The music may be sourced by a local orremote storage device, or may be streamed from an online source. System102 then determines the music genre associated with the music. Forexample, system 102 may determine whether the music genre is pop music,rock music, jazz music, classical music, etc. System 102 then adjustsone or more equalizer settings of equalizer 106 based at least in parton the music genre. System 102 then outputs the music or causes themusic to be outputted (e.g., outputted to speakers 108) based on theequalizer adjustments.

For ease of illustration, system 102 is shown as a device or unit thatis separate from audio device 104, and an equalizer device or equalizer106. System 102 may reside in various suitable locations, depending onthe particular implementation. For example, in various implementations,system 102 may be integrated into audio device 104 or into equalizer 106or into another device such as a desktop computer, laptop computer,tablet, smartphone, etc. While some implementations are described hereinin the context of the system residing in media environment 100, theseimplementations also apply to the system residing in other devices orlocated in other locations (e.g., in the cloud). In someimplementations, system 102 may be referred to as a master media device,and the other devices such as audio device 104 and equalizer 106 may bereferred to as slave media devices.

In various implementations, system 102, audio device 104, and equalizer106 may be connected to each other via any suitable means such ashigh-definition multimedia interface (HDMI) cables, HDMI-consumerelectronics control (HDMI-CEC) or other digital means (e.g., fiber opticinterfaces, Wi-Fi, Bluetooth, etc.).

In other implementations, media environment 100 may not have all of thecomponents shown and/or may have other elements including other types ofelements instead of, or in addition to, those shown herein. In thevarious implementations described herein, a processor of television 102may cause the elements described herein (e.g., settings, commands,messages, user preferences, etc.) to be displayed in a user interface onone or more display screens.

While some implementations are described herein in the context of asingle media device (e.g., equalizer 106), these implementations andothers also apply to multiple media devices that are connected to system102. For example, implementations described herein may include thesystem configuring adjustments to speakers 108, or any other mediadevice connected to television 102.

FIG. 2 is an example flow diagram for adjusting an equalizer based onaudio characteristics, according to some implementations. Referring toboth FIGS. 1 and 2, a method is initiated at block 202, where the systemsuch as system 102 detects music that is being currently played on anaudio device. The music may be sourced by a local or remote storagedevice, or may be streamed from an online source.

In various implementations, the music may be from to a full song or aportion of a song. For example, if a portion of a song, the music may bean introduction, a verse, a chorus, a bridge, outroduction, etc. Theselabels for portions of songs are examples, and the particular portion ofa given song that the system analyzes and labels for the particularportion may vary, depending on the particular music genre andimplementation.

At block 204, the system determines the music genre associated with themusic. The particular music genre may vary, depending on the particularimplementation. For example, in various implementations, the music genremay be one of pop music, rock music, jazz music, electronic dance music,classical music, etc. In various implementations, the system determinesthe music genre based at least in part on the audio characteristics ofthe music. Example implementations directed to determining the musicgenre associated with the music is described in more detail herein, inFIG. 3 for example.

At block 206, the system adjusts one or more equalizer settings of theequalizer device based at least in part on the music genre. In someimplementations, the one or more equalizer settings include bass andtreble. The particular equalizer settings, including frequency ranges,will vary, and will depend on the particular implementation. Exampleimplementations directed to the adjustment of equalizer settings aredescribed in more detail herein, in FIGS. 3 and 4 for example.

At block 208, the system outputs the music based at least in part on theadjusting of the one or more equalizer settings of the equalizer device.In other words, the system makes adjustments to one or more of theequalizer settings, and then outputs the music with the adjustedequalizer settings.

FIG. 3 is an example flow diagram for determining the music genreassociated with the music, according to some implementations. Asdescribed in detail below, the system determines the music genreassociated with the music based at least in part on the audiocharacteristics of the music. Referring to both FIGS. 1 and 3, todetermine the music genre associated with the music, a method isinitiated at block 302, where a system such as system 102 receives audiosound at an input of an audio device 104.

In various implementations, the audio sound refers to the sound of themusic being currently played on audio device 104. The audio sound mayrefer the sound of the music from a full song or a portion of a song(e.g., introduction, a verse, a chorus, a bridge, outroduction, etc.).

At block 304, the system samples the audio sound. In particular, thesystem samples the audio sound of a first portion of the music beingcurrently played. In various implementations, the first portion of themusic is the beginning of a song. In some implementations, the firstportion may be based at least in part on a predetermined time period.For example, the predetermined time period may be a predetermined numberof seconds (e.g., 1.5 seconds, 5 seconds, 60 seconds, etc.).

As indicated above, the labels for portions of songs are examples, andthe particular portion of a given song that the system analyzes andlabels for the particular portion may vary, depending on the particularmusic genre and implementation. For example, if the system samples thefirst 60 seconds of audio sound, the portion being processed andanalyzed may include a part of an introduction, an entire introduction,an entire introduction and an entire verse, or an entire introductionand a part of a verse, etc.

In some implementations, the system may take multiple samples of apredetermined time period of audio sound at different portions of themusic. For example, in some implementations, the system may take a 5second sample every 30 seconds or every 60 seconds.

At block 306, the system characterizes the audio sound. In variousimplementations, the system may use any suitable technique or techniquesfor characterizing the audio sound. For example, the system may usepattern recognition techniques to determine characteristics of the audiosound. For example, such characteristics may include values and rangesin frequencies, volume, rhythm, timbre, etc.

At block 308, the system determines the music genre based at least inpart on the characterizing of the audio sound. In particular, the systemdetermines the music genre based at least in part on the audio sound ofthe first portion of the music. In some implementations, the system maydetermine the music genre based on the first sample. In someimplementations, the system may determine the music genre based on eachsuccessive sample, if the determined genre changes. In someimplementations, if the determined music genre changes during the song,the system may dynamically adjust one or more the equalizer settings inorder to correct or follow the currently determined genre. The systemmay make such adjustments gradually in order to minimize the user'sability to perceive the change.

In some implementations, the system may determine the music genre basedon metadata stored with the music file. For example, the metadata mayindicate if a given song is rock, country, etc. In some implementations,the system may ignore the metadata if the system detects a music genrethat differs from the genre stated in the metadata. In someimplementations, after determining the particular music genre of a givenpiece of music or song, the system may store the determined music genrefor future use (e.g., if the user plays the same song at a future time.

In some implementations, the system matches the characteristics of theaudio signal of the music to a particular genre, using any suitablematching technique or techniques. In some implementations, the systemmay read metadata to determine additional associated characteristics orfeatures of the audio sound. For example, the metadata may include theartist, song name, album genre, song genre, etc. System may factor insuch metadata in determining the music genre.

In some scenarios, the system may determine two or more possible musicgenres. The system may handle such situations in different ways. Forexample, in some implementations, the system may base its determinationof music genres based on the first determination. In someimplementations, the system may factor in two or more possible genreswhen adjusting equalizer settings in a manner consistent with both musicgenres.

As indicated herein, example equalizer settings may include bass andtreble, etc. The particular label for a frequency range may varydepending on the particular implementation. Frequency ranges aretypically in Hertz (Hz). For example, frequency ranges may include a subbass range (e.g., ˜20 Hz to 60 Hz), a bass range (e.g., ˜60 Hz to 140Hz), a mid-bass range (e.g., ˜140 Hz to 400 Hz), a mid range (e.g., ˜400Hz to 2.6 kHz), an upper midrange (e.g., ˜2.6 kHz to 5.2 kHz), a highend range (e.g., ˜5.2 kHz to 20 hHz), etc. These are example values, andthe particular label and particular corresponding frequency range mayvary, depending on the particular implementation and equalizer device.

In various implementations, the system may make one frequency adjustmentwithin a given frequency range (e.g., 31 Hz adjustment for the sub bassrange), where the system may adjust a decibel (dB) setting (e.g., 31 Hzsetting adjusted to +6 dB). In various implementations, the system mayset an equalizer setting to the middle of a given frequency range or toa particular frequency, depending on the particular genre,implementation, and equalizer device. For example, in someimplementations, the system may make multiple frequency adjustmentswithin a given frequency range (e.g., 8 kHz adjustment to 6 dB and a 16kHz adjustment to 8 dB for the high end range).

In some implementations, the system may further adjust for the speakersystem such as for speakers 108. For example, the system may haveinformation on the dynamic range of each speaker in the speak system. Assuch, the system made factor in enhanced features and/or capabilities ofeach speaker, including any frequency limitations of each speaker.

FIG. 4 is an example flow diagram for adjusting equalizer settings,according to some implementations. As indicated above, the system mayadjust equalizer settings based at least in part on the determined musicgenre. As described in detail below, the system may also adjustequalizer settings based at least in part on learned user preferencesover time. Referring to both FIGS. 1 and 4, to determine the music genreassociated with the music, a method is initiated at block 402, where asystem such as system 102 detects one or more manual adjustments to oneor more of the equalizer settings of the equalizer device. Theadjustments are manual in that the adjustments are done by a user. Suchmanual adjustments result in one or more respective manually adjustedequalizer settings.

At block 404, the system stores the one or more manually adjustedequalizer settings. In various implementations, the system may store theequalizer settings in any suitable memory, which may be local or remotememory.

At block 406, the system learns from the one or more manual adjustmentsperformed by a user. For example, in various implementations, the systemmay analyze each manual adjustment to determine whether it may biasfuture equalizer settings that the system automatically adjusts withoutuser intervention. The system aggregates information from such manualadjustments in order to learn the user's preferences.

In some implementations, the system may bias particular equalizersettings based on one more predetermined biasing criteria. For example,the system may factor the following factors: which particular equalizersettings the user manually adjusted, how many times the user made suchadjustments in the past, how frequent, for which music genres, the levelof adjustment, etc.

At block 408, the system adjusts one or more of the equalizer settingsof equalizer device 106 based at least in part on the music genre andbased at least in part on the one or more manual adjustments. Forexample, presume the user always adjusts the equalizer settings to havea particular bass level for electronic dance music and for hip-hop music(e.g., 31 Hz turned up to 10 dB) but not for other music genres. Thesystem may typically adjust the bass level upward for these music genres(e.g., 31 Hz turned up to 7 dB) but may bias the adjustment to 10 dBbased on the analysis of previous manual adjustments.

In some scenarios, the user may have hearing requirements. For example,in some situations, the user may not hear frequencies above a particularfrequency threshold (e.g., above 5 kHz), the user might manually adjustone or more settings in the treble frequency range upward (e.g., 4 kHzand 8 KHz turned up to 6 dB) for all music genres. As such, the systemmay override its usual adjustment of the treble frequency range and biasthe adjustment upward (e.g., 4 kHz and 8 KHz turned up to 6 dB).

In various implementations, different equalizer devices may allow theuser and/or the system to adjust different equalizer settings fordifferent frequencies Hz and to different decibel levels dB, dependingon the manufacturer and model. In some implementations, the system maybe able to adjust more settings or frequencies than the equalizer 106might manually allow, depending on the implementation and equalizerdevice.

Although the steps, operations, or computations may be presented in aspecific order, the order may be changed in particular implementations.Other orderings of the steps are possible, depending on the particularimplementation. In some particular implementations, multiple steps shownas sequential in this specification may be performed at the same time.Also, some implementations may not have all of the steps shown and/ormay have other steps instead of, or in addition to, those shown herein.

Implementations described herein provide various benefits. For example,implementations improve the user experience by automatically, withoutuser intervention, adjust an equalizer based on audio characteristics.

FIG. 5 is a block diagram of an example network environment 500, whichmay be used for implementations described herein. In someimplementations, network environment 500 includes a system 502, whichincludes a server device 504 and a database 506. Network environment 500also includes client devices 510, 520, 530, and 540, which maycommunicate with system 502 and/or may communicate with each otherdirectly or via system 502. Network environment 500 also includes anetwork 550 through which system 502 and client devices 510, 520, 530,and 540 communicate. Network 550 may be any suitable communicationnetwork such as a Wi-Fi network, Bluetooth network, the Internet, etc.

In various implementations, system 502 may be used to implement system102 of FIG. 1. Also, client devices 510, 520, 530, and 540 may be usedto implement audio device 104, equalizer 106, and/or speakers 108, aswell as other devices.

In various implementations, system 502 may represent a master device.Also, client devices 510, 520, 530, and 540 may represent other mediadevices in the media system. As indicated above, in variousimplementations, system 502 or the master device may be used toimplement system 102 of FIG. 1, for example. As indicated above, in someimplementations, system 502 or the master device may be integrated intoanother device in the media system, such as audio device 104 orequalizer 106, etc.

For ease of illustration, FIG. 5 shows one block for each of system 502,server device 504, and network database 506, and shows four blocks forclient devices 510, 520, 530, and 540. Blocks 502, 504, and 506 mayrepresent multiple systems, server devices, and databases. Also, theremay be any number of client devices. In other implementations, networkenvironment 500 may not have all of the components shown and/or may haveother elements including other types of elements instead of, or inaddition to, those shown herein.

While server 504 of system 502 performs embodiments described herein, inother embodiments, any suitable component or combination of componentsassociated with server 502 or any suitable processor or processorsassociated with server 502 may facilitate performing the embodimentsdescribed herein.

Implementations may apply to any network system and/or may apply locallyfor an individual user. For example, implementations described hereinmay be implemented by system 502 and/or any client device 510, 520, 530,and 540. System 502 may perform the implementations described herein ona stand-alone computer, tablet computer, smartphone, etc. System 502and/or any of client devices 510, 520, 530, and 540 may performimplementations described herein individually or in combination withother devices.

In the various implementations described herein, a processor of system502 and/or a processor of any client device 510, 520, 530, and 540causes the elements described herein (e.g., information, settings, etc.)to be displayed in a user interface on one or more display screens.

FIG. 6 is a block diagram of an example computer system 600, which maybe used for some implementations described herein. For example, computersystem 600 may be used to implement system 102 of FIG. 1 or serverdevice 504 of FIG. 5, as well as to perform implementations describedherein. In some implementations, computer system 600 may include aprocessor 602, an operating system 604, a memory 606, and aninput/output (I/O) interface 608. In various implementations, processor602 may be used to implement various functions and features describedherein, as well as to perform the method implementations describedherein. While processor 602 is described as performing implementationsdescribed herein, any suitable component or combination of components ofcomputer system 600 or any suitable processor or processors associatedwith computer system 600 or any suitable system may perform the stepsdescribed. Implementations described herein may be carried out on a userdevice, on a server, or a combination of both.

Computer system 600 also includes a software application 610, which maybe stored on memory 606 or on any other suitable storage location orcomputer-readable medium. Software application 610 provides instructionsthat enable processor 602 to perform the implementations describedherein and other functions. Software application may also include anengine such as a network engine for performing various functionsassociated with one or more networks and network communications. Thecomponents of computer system 600 may be implemented by one or moreprocessors or any combination of hardware devices, as well as anycombination of hardware, software, firmware, etc.

For ease of illustration, FIG. 6 shows one block for each of processor602, operating system 604, memory 606, I/O interface 608, and softwareapplication 610. These blocks 602, 604, 606, 608, and 610 may representmultiple processors, operating systems, memories, I/O interfaces, andsoftware applications. In various implementations, computer system 600may not have all of the components shown and/or may have other elementsincluding other types of components instead of, or in addition to, thoseshown herein.

Although the description has been described with respect to particularembodiments thereof, these particular embodiments are merelyillustrative, and not restrictive. Concepts illustrated in the examplesmay be applied to other examples and implementations.

In various implementations, software is encoded in one or morenon-transitory computer-readable media for execution by one or moreprocessors. The software when executed by one or more processors isoperable to perform the implementations described herein and otherfunctions.

Any suitable programming language can be used to implement the routinesof particular embodiments including C, C++, Java, assembly language,etc. Different programming techniques can be employed such as proceduralor object oriented. The routines can execute on a single processingdevice or multiple processors. Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different particular embodiments. In some particularembodiments, multiple steps shown as sequential in this specificationcan be performed at the same time.

Particular embodiments may be implemented in a non-transitorycomputer-readable storage medium (also referred to as a machine-readablestorage medium) for use by or in connection with the instructionexecution system, apparatus, or device. Particular embodiments can beimplemented in the form of control logic in software or hardware or acombination of both. The control logic when executed by one or moreprocessors is operable to perform the implementations described hereinand other functions. For example, a tangible medium such as a hardwarestorage device can be used to store the control logic, which can includeexecutable instructions.

Particular embodiments may be implemented by using a programmablegeneral purpose digital computer, and/or by using application specificintegrated circuits, programmable logic devices, field programmable gatearrays, optical, chemical, biological, quantum or nanoengineeredsystems, components and mechanisms. In general, the functions ofparticular embodiments can be achieved by any means as is known in theart. Distributed, networked systems, components, and/or circuits can beused. Communication, or transfer, of data may be wired, wireless, or byany other means.

A “processor” may include any suitable hardware and/or software system,mechanism, or component that processes data, signals or otherinformation. A processor may include a system with a general-purposecentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems. Processing need not belimited to a geographic location, or have temporal limitations. Forexample, a processor may perform its functions in “real-time,”“offline,” in a “batch mode,” etc. Portions of processing may beperformed at different times and at different locations, by different(or the same) processing systems. A computer may be any processor incommunication with a memory. The memory may be any suitable datastorage, memory and/or non-transitory computer-readable storage medium,including electronic storage devices such as random-access memory (RAM),read-only memory (ROM), magnetic storage device (hard disk drive or thelike), flash, optical storage device (CD, DVD or the like), magnetic oroptical disk, or other tangible media suitable for storing instructions(e.g., program or software instructions) for execution by the processor.For example, a tangible medium such as a hardware storage device can beused to store the control logic, which can include executableinstructions. The instructions can also be contained in, and providedas, an electronic signal, for example in the form of software as aservice (SaaS) delivered from a server (e.g., a distributed systemand/or a cloud computing system).

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope to implement a program or code that canbe stored in a machine-readable medium to permit a computer to performany of the methods described above.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

Thus, while particular embodiments have been described herein, latitudesof modification, various changes, and substitutions are intended in theforegoing disclosures, and it will be appreciated that in some instancessome features of particular embodiments will be employed without acorresponding use of other features without departing from the scope andspirit as set forth. Therefore, many modifications may be made to adapta particular situation or material to the essential scope and spirit.

1. A system comprising: one or more processors; and logic encoded in oneor more non-transitory computer-readable storage media for execution bythe one or more processors and when executed operable to cause the oneor more processors to perform operations comprising: detecting musicthat is being currently played on an audio device, wherein the musiccomprises a song; adjusting one or more equalizer settings of anequalizer device based at least in part on a music genre associated withthe song and based at least in part on at least one change in the musicgenre during the song; and outputting the music based at least in parton the adjusting of the one or more equalizer settings of the equalizerdevice.
 2. The system of claim 1, wherein the logic when executed isfurther operable to cause the one or more processors to performoperations comprising: determining the at least one change in the musicgenre during the song; and adjusting the one or more the equalizersettings of the equalizer device during the song and based on the atleast one change in the music genre during the song.
 3. The system ofclaim 1, wherein the one or more equalizer settings comprise bass andtreble.
 4. The system of claim 1, wherein, to determine the music genreassociated with the music, the logic when executed is further operableto cause the one or more processors to perform operations comprising:receiving audio sound at an input of the audio device; characterizingthe audio sound; and determining the music genre based at least in parton the characterizing of the audio sound.
 5. The system of claim 1,wherein, to determine the music genre associated with the music, thelogic when executed is further operable to cause the one or moreprocessors to perform operations comprising: sampling a first portion ofthe music; and determining the music genre based at least in part on thefirst portion of the music.
 6. The system of claim 1, wherein the logicwhen executed is further operable to cause the one or more processors toperform operations comprising: learning from one or more manualadjustments performed by a user; and adjusting one or more of theequalizer settings of an equalizer device based at least in part on themusic genre and based at least in part on the one or more manualadjustments.
 7. The system of claim 1, wherein the logic when executedis further operable to cause the one or more processors to performoperations comprising: detecting one or more manual adjustments to oneor more of the equalizer settings of the equalizer device, wherein theone or more manual adjustments result in one or more respective manuallyadjusted equalizer settings; and storing the one or more manuallyadjusted equalizer settings.
 8. A non-transitory computer-readablestorage medium with program instructions stored thereon, theinstructions when executed by one or more processors are operable tocause the one or more processors to perform operations comprising:detecting music that is being currently played on an audio device,wherein the music comprises a song; adjusting one or more equalizersettings of an equalizer device based at least in part on a music genreassociated with the song and based at least in part on at least onechange in the music genre during the song; and outputting the musicbased at least in part on the adjusting of the one or more equalizersettings of the equalizer device.
 9. The computer-readable storagemedium of claim 8, wherein the music genre comprises one or more of popmusic, rock music, jazz music, electronic dance music, and classicalmusic.
 10. The computer-readable storage medium of claim 8, wherein theone or more equalizer settings comprise bass and treble.
 11. Thecomputer-readable storage medium of claim 8, wherein, to determine themusic genre associated with the music, the instructions when executedare further operable to cause the one or more processors to performoperations comprising: receiving audio sound at an input of the audiodevice; characterizing the audio sound; and determining the music genrebased at least in part on the characterizing of the audio sound.
 12. Thecomputer-readable storage medium of claim 8, wherein, to determine themusic genre associated with the music, the instructions when executedare further operable to cause the one or more processors to performoperations comprising: sampling a first portion of the music; anddetermining the music genre based at least in part on the first portionof the music.
 13. The computer-readable storage medium of claim 8,wherein the instructions when executed are further operable to cause theone or more processors to perform operations comprising: learning fromone or more manual adjustments performed by a user; and adjusting one ormore of the equalizer settings of an equalizer device based at least inpart on the music genre and based at least in part on the one or moremanual adjustments.
 14. The computer-readable storage medium of claim 8,wherein the instructions when executed are further operable to cause theone or more processors to perform operations comprising: detecting oneor more manual adjustments to one or more of the equalizer settings ofthe equalizer device, wherein the one or more manual adjustments resultin one or more respective manually adjusted equalizer settings; andstoring the one or more manually adjusted equalizer settings.
 15. Acomputer-implemented method comprising: detecting music that is beingcurrently played on an audio device, wherein the music comprises a song;adjusting one or more equalizer settings of an equalizer device based atleast in part on a music genre associated with the song and based atleast in part on at least one change in the music genre during the song;and outputting the music based at least in part on the adjusting of theone or more equalizer settings of the equalizer device.
 16. The methodof claim 15, wherein the music genre comprises one or more of pop music,rock music, jazz music, electronic dance music, and classical music. 17.The method of claim 15, wherein the one or more equalizer settingscomprise bass and treble.
 18. The method of claim 15, wherein, todetermine the music genre associated with the music, the method furthercomprises: receiving audio sound at an input of the audio device;characterizing the audio sound; and determining the music genre based atleast in part on the characterizing of the audio sound.
 19. The methodof claim 15, wherein, to determine the music genre associated with themusic, the method further comprises: sampling a first portion of themusic; and determining the music genre based at least in part on thefirst portion of the music.
 20. The method of claim 15, furthercomprising: learning from one or more manual adjustments performed by auser; and adjusting one or more of the equalizer settings of anequalizer device based at least in part on the music genre and based atleast in part on the one or more manual adjustments.